【Deepin 20系统】Linux系统安装N卡驱动前的安装gcc三种方法详解 |
您所在的位置:网站首页 › deepin15升级到20正式版 缺少依赖 无法进去终端 › 【Deepin 20系统】Linux系统安装N卡驱动前的安装gcc三种方法详解 |
目录
1 引言2 最简单的方式3 源码安装gcc3.1 关联清华的gcc git库3.2 进入下载到的gcc文件查看要下载的版本名称3.3 切换到branch gcc-9上面3.4 编译和安装3.5 替换下载镜像源3.6 编译安装3.7 查看是否成功
4 rpm包安装4.1 下载rpm依赖包4.2 安装依赖包
1 引言
参考博客Linux安装gcc的四种方法 参考博客Deepin源码安装gcc 三种方式安装gcc,每种方式对应不同的情况。而且为了使得显卡驱动能安装成功,gcc版本尽量是gcc-10。 (1)yum安装 (适用RedHat、CentOS系统) 命令行直接输入yum install gcc g++ (2)apt-get安装 (适用debian,ubuntu系统) 命令行直接输入sudo apt-get install gcc g++ (3)源码安装(适合升级gcc版本的用户,不适合系统本身没有gcc的用户) (4)rpm包安装(比较复杂的方式,下下策) 2 最简单的方式(1)安装gcc-7 sudo apt install gcc-7 g++-7(2)删除原来版本gcc建立的软链接 sudo rm -rf /usr/bin/gcc sudo rm -rf usr/bin/g++(3)建立新的gcc版本的软连接 sudo ln -s /usr/bin/gcc-7 /usr/bin/gcc sudo ln -s /usr/bin/g++-7 /usr/bin/g++(4)查看gcc版本 gcc --version就可以看到gcc版本输出成功 3 源码安装gcc此方法将会费时一个小时左右编译,慎重考虑。 3.1 关联清华的gcc git库具体可以参考:https://mirrors.tuna.tsinghua.edu.cn/help/gcc.git/ git clone https://mirrors.tuna.tsinghua.edu.cn/git/gcc.git 3.2 进入下载到的gcc文件查看要下载的版本名称cd gcc git branch 可以看到当前是处于master上面,我们不需要安装最新master上面的版本,只需要安装某个release的branch code。 我们先看看有哪些branch git branch -a … remotes/origin/releases/gcc-4.9 remotes/origin/releases/gcc-5 remotes/origin/releases/gcc-6 remotes/origin/releases/gcc-7 remotes/origin/releases/gcc-8 remotes/origin/releases/gcc-9 … 上面省略号部分是各种不同的branch,由于我们只需要安装gcc-9的最新代码 3.3 切换到branch gcc-9上面git checkout releases/gcc-9 切换之后,当前目录下的源码也变成了最新的gcc-9下的代码。 查看是否git到本地目录 git branch 输出 master releases/gcc-9 3.4 编译和安装提前准备一个软件 sudo apt-get install flex flex和yacc是编译器做词法分析的,在我安装的过程中,提示需要这个,否则会报错,所以我们提前安装好了。(参考:https://www.cnblogs.com/cyanrose/p/11490979.html) 3.5 替换下载镜像源(1)打开文件 vim ./contrib/download_prerequisites 这个脚本是用来检测是否依赖满足,同时会下载几个文件。但是有个问题在于,在国内去通过这个脚本下载内容太慢了,会报错修改为base_url=‘http://ftp.tsukuba.wide.ad.jp/software/gcc/infrastructure/’。wq保存退出。 (参考:https://blog.csdn.net/davidhopper/article/details/79681695) (2)运行脚本 sudo bash ./contrib/download_prerequisites 可能由于网速的关系,你即使修改了base_url,运行可能会报错,直接删除掉下载好的内容,然后再次运行。我运行了三次才成功。 3.6 编译安装./configure --disable-multilib 后面加上–disable-multilib的原因是因为我的是64位的系统,没有32位的库。你可以不加上这个选项,然后报错了再加上就好了。 sudo make -j 8 如果你按照前面所说安装了flex,在deepin里面运行上面命令应该不会报错。如果没有安装flex,安装报错了,请再安装了flex,同时记住在编译之前,必须先clean掉之前编译的内容。比如:sudo make realclean 然后再./configure --disable-multilib,最后再sudo make -j8 上面安装很耗时间,看你的CPU性能,我的是i5u系列,花了接近1小时 sudo make install 3.7 查看是否成功gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/9.3.1/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ./configure --disable-multilib Thread model: posix gcc version 9.3.1 20200328 (GCC) g++ -v Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/9.3.1/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ./configure --disable-multilib Thread model: posix gcc version 9.3.1 20200328 (GCC) 4 rpm包安装 4.1 下载rpm依赖包在rpm包搜索网需要下载6个rpm包。本人以安装gcc-10举例。 需要下载包有以下六个。 1. cpp-10.2.1-8.fc34.x86_64.rpm 2. kernel-headers-5.10.0-0.rc4.git0.1.fc34.aarch64.rpm 3. glibc-headers-2.31-4.fc32.x86_64.rpm 4. glibc-devel-2.32.9000-16.fc34.x86_64.rpm 5. libgomp-10.2.1-8.fc34.aarch64.rpm 6. gcc-10.2.1-8.fc34.aarch64.rpm 4.2 安装依赖包(1)gcc顺序安装下列包,按顺序执行。 1. rpm -ivh cpp-10.2.1-8.fc34.x86_64.rpm 2. rpm -ivh kernel-headers-5.10.0-0.rc4.git0.1.fc34.aarch64.rpm 3. rpm -ivh glibc-headers-2.31-4.fc32.x86_64.rpm 4. rpm -ivh glibc-devel-2.32.9000-16.fc34.x86_64.rpm 5. rpm -ivh libgomp-10.2.1-8.fc34.aarch64.rpm 6. rpm -ivh gcc-10.2.1-8.fc34.aarch64.rpm(2)可能遇到的错 报错“Failed dependencies: /bin/sh is needed by ****”解决办法:就换一种安装方式 1. alien -i cpp-10.2.1-8.fc34.x86_64.rpm 2. alien -i kernel-headers-5.10.0-0.rc4.git0.1.fc34.aarch64.rpm 3. alien -i glibc-headers-2.31-4.fc32.x86_64.rpm 4. alien -i glibc-devel-2.32.9000-16.fc34.x86_64.rpm 5. alien -i libgomp-10.2.1-8.fc34.aarch64.rpm 6. alien -i gcc-10.2.1-8.fc34.aarch64.rpm虽然过程中有很多warning,但是不用管它。 在安装某个包的时候报错:***.rpm is for architecture aarch64 ; the package cannot be built on this system 解决办法 在命令行查看 dpkg --print-architecture输出arm64,则换以下方式安装这个包。***表示包名 sudo alien --to-deb ./***.rpm --target=arm64如果输出amd64,则换以下方式安装这个包。***表示包名 sudo alien --to-deb ./***.rpm --target=amd644.3 查看是否安装成功 gcc -v |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |